package presentation.view.paciente;

import domain.controller.PacienteController;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import domain.pojo.Paciente;
import util.TableHelper;
import presentation.view.JanelaInicial;
import presentation.view.MainFrame;

/**
 *
 * @author Owner
 */
public class PacienteListar extends TableHelper{	
    static JFrame Janela;
    
    Object[][] data;
    String[] nomeDasColunas = {"CPF","Nome", "Telefone"};
    int quantidade;

    public PacienteListar() {
	PacienteController pc = new PacienteController();
	quantidade = pc.getQuantidade();
	data = pc.getDados(quantidade);
	
	iniciaTabela( nomeDasColunas, data, quantidade,1,"Nome");
	this.setOpaque(true);
    }

    @Override
    public void eventoAlterar(String helper) {
	int row = getAtual(helper);
	Paciente paciente = new Paciente(Integer.parseInt(data[row][5].toString()),
							  data[row][0].toString(),
							  data[row][1].toString(),
							  data[row][3].toString(),
							  data[row][2].toString(),
							  data[row][4].toString());
	MainFrame.getInstance().alterarPainel(new PacienteAdicionarAlterar(paciente), this);
    }

    @Override
    public void eventoExcluir(String helper){
	int row = getAtual(helper);
	String nome = data[row][1].toString();

	if( JOptionPane.showConfirmDialog(null,	"Confirma remoção do paciente " + nome + "?", "POO", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION ){
	    PacienteController modelo = new PacienteController();
	    Paciente paciente = new Paciente(Integer.parseInt(data[row][5].toString()),
							      data[row][0].toString(),
							      data[row][1].toString(),
							      data[row][3].toString(),
							      data[row][2].toString(),
							      data[row][4].toString());
	    modelo.excluir( Integer.parseInt(data[row][5].toString()));
	    MainFrame.getInstance().alterarPainel(new PacienteListar(), JanelaInicial.getInstance());
	}
    }

    @Override
    public void eventoAdicionar() {
	MainFrame.getInstance().alterarPainel(new PacienteAdicionarAlterar(), this);
    }

    @Override
    public String getNomeButtonAdicionar() {
	return "Adicionar novo paciente";
    }

    @Override
    public void eventoJanelaDetalhe(String helper) {
	int row = getAtual(helper);
	Paciente paciente = new Paciente(Integer.parseInt(data[row][5].toString()),
							  data[row][0].toString(),
							  data[row][1].toString(),
							  data[row][3].toString(),
							  data[row][2].toString(),
							  data[row][4].toString());
	JPanel painel = new PacienteDetalhe(paciente);
	
	JOptionPane.showMessageDialog(null, painel, "Detalhes", JOptionPane.INFORMATION_MESSAGE);
    }
}
